package com.paw.portal.enums;

import java.io.Serializable;
import java.util.Arrays;

import com.paw.common.enums.ICommonEnum;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 角色信息表
 * </p>
 *
 * @author Rubble
 * @since 2021-08-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="SysRoleEnums对象", description="角色信息表Enums对象")
public class SysRoleEnums implements Serializable {

@Getter
@AllArgsConstructor
public enum DataScopeEnum implements ICommonEnum {

  /**
   * 数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）
   */
  ;
  int code;
  String desc;

  public static DataScopeEnum getEnumByCode (Integer code) {
    return code!=null?Arrays.stream(values()).filter(e->e.getCode()==code).findFirst().orElse(null):null;
  }

  public static String getDescByCode (Integer code) {
    return code!=null?Arrays.stream(values()).filter(e->e.getCode()==code).map(DataScopeEnum::getDesc).findFirst().orElse(null):null;
  }
}
@Getter
@AllArgsConstructor
public enum StatusEnum implements ICommonEnum {

  /**
   * 角色状态（0：禁用；1：正常）
   */
  A0(0,"禁用"),
  A1(1,"正常"),
  ;
  int code;
  String desc;

  public static StatusEnum getEnumByCode (Integer code) {
    return code!=null?Arrays.stream(values()).filter(e->e.getCode()==code).findFirst().orElse(null):null;
  }

  public static String getDescByCode (Integer code) {
    return code!=null?Arrays.stream(values()).filter(e->e.getCode()==code).map(StatusEnum::getDesc).findFirst().orElse(null):null;
  }
}
}
